【JavaScript】比較演算 - 2値の関係性の真偽を比較演算子で算出する

【JavaScript】比較演算 - 2値の関係性の真偽を比較演算子で算出する

JavaScriptの比較演算について解説します。

検証環境

比較演算

比較演算は“2値の関係性の真偽を判定する演算”です。

演算結果として、関係性が正しい場合は真(true)、正しくない場合は偽(false)を算出します。

例えば変数numと数値8の2つの値について、“numの値は8と『等しい』”や“numの値は8『より小さい』”などの関係性が正しいかを判定します。

仮にnumの値が3(数値)とすると、前者の比較演算(“numの値は8と『等しい』”)は偽、後者の比較演算(“numの値は8『より小さい』”)は真となります。

比較演算子

比較演算子は“比較演算の種類を表す記号”です。

例えば、“2値の関係が等しい”を表す演算子は==で、代表的な比較演算子は次の通りです。

演算子 関係性
== 値が等しい num == 10
=== 値と型が等しい num === 10
!= 値が等しくない num != 10
!== 値または型が等しくない num !== 10
< 値の大小関係(左オペランドが右オペランドより小さい) num < 10
> 値の大小関係(左オペランドが右オペランドより大きい) num > 10
<= 値の大小関係(左オペランドが右オペランド以下) num <= 10
>= 値の大小関係(左オペランドが右オペランド以上) num >= 10

基本構文

左オペランド 比較演算子 右オペランド

左オペランドと右オペランドの値が比較演算子で示す関係性であるかどうかを判定します。

サンプル

各比較演算子のサンプルを以下に示します。

==(値が等しい)

==演算子は左右オペランドの値が等しいことを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let num3 = 11;

___ih_hl_start
let result1 = num1 == num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 == num3;
___ih_hl_end
console.log(result2);
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 == num2の比較演算は変数num1と変数num2の値が等しいことを判定します。

いずれも値は5のため、この演算結果はtrueになります。

8行目のnum1 == num3の比較演算は変数num1と変数num3の値が等しいことを判定します。

num1の値はnum3の値は11であり、値が等しくないため、falseになります。

===(値と型が等しい)

===演算子は左右オペランドの値と型が等しいことを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let str1 = '5';

___ih_hl_start
let result1 = num1 === num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 === str1;
___ih_hl_end
console.log(result2);

let result3 = num1 == str1;
console.log(result3);
true
false
true

2つの比較演算(5行目と8行目)があります。

5行目のnum1 === num2の比較演算は変数num1と変数num2の値と型が等しいことを判定します。

いずれも数値型で値は5のため、この演算結果はtrueになります。

8行目のnum1 === str1の比較演算は変数num1と変数str1の値と型が等しいことを判定します。

num1は数値型、str1は文字列型で型が等しくないため、falseになります。

なお、num1str1について==比較演算子ではtrue(11行目)となります。

!=(値が等しくない)

!=演算子は左右オペランドの値が等しくないことを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let num3 = 11;

___ih_hl_start
let result1 = num1 != num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 != num3;
___ih_hl_end
console.log(result2);
false
true

2つの比較演算(5行目と8行目)があります。

5行目のnum1 != num2の比較演算は変数num1と変数num2の値が等しくないことを判定します。

いずれも数値型で値は5で等しいため、この演算結果はfalseになります。

8行目のnum1 != num3の比較演算は変数num1と変数num3の値が等しくないことを判定します。

num15num311で等しくないため、この演算結果はtrueになります。

!==(値または型が等しくない)

!==演算子は左右オペランドの値または型が等しくないことを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let str1 = '5';

___ih_hl_start
let result1 = num1 !== num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 !== str1;
___ih_hl_end
console.log(result2);

let result3 = num1 != str1;
console.log(result3);
false
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 !== num2の比較演算は変数num1と変数num2の値と型が等しくないことを判定します。

いずれも数値型で値は5のため、この演算結果はfalseになります。

8行目のnum1 !== str1の比較演算は変数num1と変数str1の値と型が等しくないことを判定します。

num1は数値型、str1は文字列型で型が等しくないため、trueになります。

なお、num1str1!=比較演算子ではfalse(11行目)となります。

<(左オペランドが右オペランドより小さい)

<演算子は左オペランドが右オペランドより小さいことを判定する比較演算子です。

let num1 = 5;
let num2 = 11;
let num3 = 5;

___ih_hl_start
let result1 = num1 < num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 < num3;
___ih_hl_end
console.log(result2);
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 < num2の比較演算は変数num1が変数num2よりも小さいことを判定します。

num15num211のため、この演算結果はtrueになります。

8行目のnum1 < num3の比較演算は変数num1が変数num3よりも小さいことを判定します。

num1num3はいずれも5のため、この演算結果はfalseになります。

>(左オペランドが右オペランドより大きい)

>演算子は左オペランドが右オペランドより大きいことを判定する比較演算子です。

let num1 = 5;
let num2 = 2;
let num3 = 5;

___ih_hl_start
let result1 = num1 > num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 > num3;
___ih_hl_end
console.log(result2);
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 > num2の比較演算は変数num1が変数num2よりも大きいことを判定します。

num15num22のため、この演算結果はtrueになります。

8行目のnum1 > num3の比較演算は変数num1が変数num3よりも大きいことを判定します。

num1num3はいずれも5のため、この演算結果はfalseになります。

<=(左オペランドが右オペランド以下)

<=演算子は左オペランドが右オペランド以下であることを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let num3 = 2;

___ih_hl_start
let result1 = num1 <= num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 <= num3;
___ih_hl_end
console.log(result2);
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 <= num2の比較演算は変数num1が変数num2以下であることを判定します。

num1num2はいずれも5のため、この演算結果はtrueになります。

8行目のnum1 <= num3の比較演算は変数num1が変数num3以下であることを判定します。

num15num32のため、この演算結果はfalseになります。

>=(左オペランドが右オペランド以上)

>=演算子は左オペランドが右オペランド以上であることを判定する比較演算子です。

let num1 = 5;
let num2 = 5;
let num3 = 11;

___ih_hl_start
let result1 = num1 >= num2;
___ih_hl_end
console.log(result1);

___ih_hl_start
let result2 = num1 >= num3;
___ih_hl_end
console.log(result2);
true
false

2つの比較演算(5行目と8行目)があります。

5行目のnum1 >= num2の比較演算は変数num1が変数num2以上であることを判定します。

num1num2はいずれも5のため、この演算結果はtrueになります。

8行目のnum1 >= num3の比較演算は変数num1が変数num3以上であることを判定します。

num15num311のため、この演算結果はfalseになります。